/*!
 * \file UapGlobals.h
 * \brief Global definitions for UAP protocol
 */

#ifndef SGW_UAP_GLOBALS_H
#define SGW_UAP_GLOBALS_H

#include "EventData.h"
#include "UAP.pb.h"
#include "GAP.pb.h"
#include "map"

namespace tsc
{
namespace sgw
{

using common::SIGNO;
using common::SIGNAL_BASE;
using namespace UserApplicationPart;
using namespace GatewayApplicationPart;

//===================================================================
// UserApplicationPart signal numbers
//===================================================================
const SIGNO UAP_SIGNAL_BASE       = SIGNAL_BASE + 0x00001000;
const SIGNO UAP_SIGNAL_TIMER_BASE = SIGNAL_BASE + 0x00001200;

const SIGNO UAP_CONNECTION_REQ =
		UAP_SIGNAL_BASE + UAP_PDU_CONNECTION_REQ;

const SIGNO UAP_CONNECTION_RELEASE_REQ =
		UAP_SIGNAL_BASE + UAP_PDU_CONNECTION_RELEASE_REQ;

const SIGNO UAP_MEDIA_BEARER_SETUP_REQ =
        UAP_SIGNAL_BASE + UAP_PDU_MEDIA_BEARER_SETUP_REQ;

const SIGNO UAP_T643_EXPIRED =
        UAP_SIGNAL_TIMER_BASE + 1;

//===================================================================
// UserApplicationPart signal numbers related to GAP messages handling
//===================================================================
const SIGNO UAP_GAP_SIGNAL_BASE = SIGNAL_BASE + 0x00002000;

const SIGNO UAP_GAP_MEDIA_BEARER_SETUP_CFM =
        UAP_GAP_SIGNAL_BASE + GAP_PDU_MEDIA_BEARER_SETUP_CFM;

const SIGNO UAP_GAP_MEDIA_BEARER_SETUP_REJ =
        UAP_GAP_SIGNAL_BASE + GAP_PDU_MEDIA_BEARER_SETUP_REJ;

const SIGNO UAP_GAP_MEDIA_TRANSMISSION_FINISHED_IND =
        UAP_GAP_SIGNAL_BASE + GAP_PDU_MEDIA_TRANSMISSION_END;

//===================================================================
// Timers
//===================================================================
const unsigned long T_643_VALUE = 2000;

} // namespace sgw
} // namespace tsc

#endif // SGW_UAP_GENERATOR_H
